package com.wgy.day19.final修饰局部变量;
/*
一旦使用final修饰局部变量,那么这个变量将不能再进行赋值更改.
 即: 一次赋值,终身不变!

对于基本数据类型来说,不可变说的是变量当中的数据不可改变
对于引用数据类型来说,不可变说的是变量当中的地址值不可改变

*/

public class Demo01Final {
    public static void main(String[] args) {
        int num1=10;
        System.out.println(num1);  //10
        num1=20;
        System.out.println(num1);  //20


        //一旦使用final修饰局部变量,那么这个变量将不能再进行赋值更改.  即: 一次赋值,终身不变!
        final int num2=200;
        System.out.println(num2);
   //     num2=100;            错误写法,不能改变
   //     num2=200;            错误写法,即使是和原来的数据值一样也是错误的 因为只能进行唯一一次的赋值
        final  int num3;       //正确写法, 只要保证有唯一一次的赋值即可
        num3=30;

        Student stu1=new Student("赵丽颖",18);
        System.out.println(stu1);
        System.out.println(stu1.getName());
        stu1=new Student("霍建华",28);
        System.out.println(stu1);
        System.out.println(stu1.getName());
        System.out.println("==============");

        final Student stu2=new Student("高圆圆",25);
        //错误写法, final的引用型变量,其中的地址值是不可改变的
       // stu2=new Student("赵又廷",27);
        System.out.println(stu2);
        System.out.println(stu2.getName());
        stu2.setName("赵又廷");
        System.out.println(stu2.getName());
        System.out.println(stu2);


    }
}
